Many organizations are embracing Model Based Design in their production processes of real world systems. Model Based Design is a practice of specifying, analyzing, testing, and implementing systems using a common model and/or a set of models and associated objects. System implementation may involve generating code from a model or some of its parts.
Graphical modeling environments are an example of software applications that may enable a user to create, execute, and analyze models. Graphical modeling environments may be used to model dynamic and/or event-based systems. Dynamic systems are systems whose outputs change over time.
A user may create a graphical model of a real-world system using a graphical user interface, such as a graphical model editor. Graphical models may depict temporal relationships between system inputs, states, parameters, and outputs. The behavior of the dynamic system over a specified time period may be simulated using information entered into the graphical model. The graphical model may be used to compute and trace the temporal evolution of the dynamic system's outputs (“execute the graphical model”), and/or to automatically produce either prototype software systems, deployable software systems, and/or descriptions of hardware systems that mimic the behavior of either the entire model or portions of the model (code generation). Simulink® software from The MathWorks, Inc. of Natick, Mass., is one example of a graphical modeling environment that caters to various aspects of system design, analysis, simulation, and implementation.
Model based design is not limited to dynamic models or, indeed, to graphical models. Model based design may also be accomplished with textual models or a combination of graphical and textual models. Such models may be dynamic models, event-based models, etc. Models may be created within a modeling environment, or realized as stand-alone computer-executable code.